#if !defined(__APP_POOL_H)
#define __APP_POOL_H

//任务结构体
typedef struct 
{
    int (*task_fun)(void *arg); //任务函数指针
    void *arg;           //任务函数参数
    struct app_pool_task_s *next;
} Task;

//初始化线程池
int app_pool_init(int thread_count);
//销毁线程池
void app_pool_destroy(void);
//添加任务到线程池
int app_pool_addTask(int (*task_fun)(void *arg), void *arg);

// 兼容外部旧调用名
static inline int app_pool_registerTask(int (*task_fun)(void *arg), void *arg){
    return app_pool_addTask(task_fun,arg);
}


#endif // __APP_POOL_H
